

import 'package:flutter/material.dart';
import 'package:interview/utils/http.dart';
import 'package:interview/utils/logger.dart';

/// LoginParams 请求参数封装
class QuestionOptParams {
  final String id;   // 试题id
  final int optType; // 1 点赞  2 收藏 
  final int type;    // 0 试题  1 面经

  QuestionOptParams({
    required this.id,
    required this.optType,
    required this.type,
  });

  /// 转换为请求参数的 Map
  Map<String, dynamic> toJson() {
    return {
      'id': id,
      'optType': optType,
      'type':type
    };
  }
}


// final int optFlag; // 客户端做的标记 1为执行 0为取消 前三个都需要传递到服务端 这个参数不需要传递给服务端
Future <void> fetchQuestionOpt(QuestionOptParams params , int optFlag , BuildContext? context) async {
  try {
    late String path = optFlag == 1 ? "question/opt" : "question/unOpt";
    Logger.info("查看params ${params.toJson()}" , tag: "questionOpt , 查看flag : $optFlag");
    await Http.post(path, data: params.toJson());
  } catch (e) {
    Logger.error("操作失败: $e", tag: 'fetchQuestionOpt');
    throw Exception('操作失败: $e');
  }
}